<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>何为数据代理</title>
  </head>
  <body>
    <!-- 数据代理：通过一个对象代理对另一个对象中属性的操作(读/写) -->
  </body>
  <script>
    // 通过obj2 可以读/写 obj中的 x 属性
    let obj = { x: 100 };
    let obj2 = { y: 200 };

    Object.defineProperty(obj2, "x", {
      // 通过 obj2 访问obj的 x 属性
      get() {
        return obj.x;
      },
      // 通过 obj2 修改obj的 x 属性
      set(value) {
        obj.x = value;
      },
    });
  </script>
</html>
